El interface DirContext contiene m�todos para modificar los atributos y los valores de los atributos de objetos en el directorio.
�Usar una Lista de Modificaci�n
Una forma de modificar los atributos de un objeto es suministrar una lista de solicitudes de modificaci�n (ModificationItem).
Cada ModificationItem consiste en una constante num�rica indicando el tipo de modificaci�n a realizar y un Attribute describiendo la modificaci�n a realizar. Aqu� est�n los tres tipos de modificaciones:
Las modificaciones se aplican en el orden en que aparecen en la lista. O se ejecutan todas las modificaciones o ninguna.
El siguiente c�digo crea una lista de modificaciones. Reemplaza el valor del atributo "mail" con un valor de "[email protected]", a�ade un valor adicional al atributo "telephonenumber" y elimina el atributo "jpegphoto".
// Specify the changes to make
ModificationItem[] mods = new ModificationItem[3];
// Replace the "mail" attribute with a new value
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
new BasicAttribute("mail", "[email protected]"));
// Add an additional value to "telephonenumber"
mods[1] = new ModificationItem(DirContext.ADD_ATTRIBUTE,
new BasicAttribute("telephonenumber", "+1 555 555 5555"));
// Remove the "jpegphoto" attribute
mods[2] = new ModificationItem(DirContext.REMOVE_ATTRIBUTE,
new BasicAttribute("jpegphoto"));
Despu�s de crear esta lista de modificaciones, podemos suministrarsela a modifyAttributes() de esta forma.
// Perform the requested modifications on the named object ctx.modifyAttributes(name, mods);
�Usar Atributos
De forma alternativa, podemos realizar modificaciones especificando el tipo de modificaci�n y los atributos a los que queremos aplicarle esta modificaci�n.
Por ejemplo, la siguiente l�nea reemplaza los atributos (identificados en orig) asociados con name con ese orig.
ctx.modifyAttributes(name, DirContext.REPLACE_ATTRIBUTE, orig);
Cualquier otro atributo de name no se modifica.
Estos dos usos de modifyAttributes() se demuestran en el programa de ejemplo. Este programa modifica los atributos usando una lista de modificaciones y luego usa la segunda forma de� modifyAttributes() para restaurar los atributos originales.